Φορτώνει, μη φορτώνεις...

ΕΠΙΣΤΡΟΦΗ

Υλοποίηση μέσω γλώσσας Wolfram στο WLJS Notebook .

Μερικές Διαφορικές Εξισώσεις

Εξίσωση Laplace ($\nabla^2 u=0$)

Καρτεσιανές συντεταγμένες

Στήνουμε τη ΜΔΕ Clear["Global`*"] PDE = D[u[x, y], {x, 2}] + D[u[x, y], {y, 2}] == 0; PDE u[x, y] = X[x]*Y[y] PDE = D[u[x, y], {x, 2}] + D[u[x, y], {y, 2}] == 0 Συνοριακές συνθήκες boundX1 = u[0, y] == 0 boundX2 = u[L, y] == 0 boundY1 = u[x, 0] == 0 boundY2 = u[x, L] == V0 PDE[[1]]/(X[x] Y[y]) // Apart Έχουμε τις κάτωθι Σ.Δ.Ε. ODEx = X''[x]/X[x] == λ ODEy = Y''[y]/Y[y] == -λ Θα εξετάσουμε τη μεταβλητή, η οποία διαθέτει ομογενείς συνοριακές συνθήκες. Αυτή εν προκειμένω είναι η x. Όπως και στην περίπτωση της εξίσωσης κύματος, οι περιπτώσεις $λ\geq0$ απορρίπτονται. Άρα: λ = -k^2 ODEx ODEy ODEx = X''[x] + k^2 X[x] == 0 ODEy = Y''[y] - k^2 Y[y] == 0 Οι συνοριακές συνθήκες που αφορούν το x, μάς οδηγούν στις `X(0)==0` και `X(L)==0`. Επομένως: DSolve[{ODEx, X[0] == 0, X[L] == 0}, X[x], x] Έχουμε ιδιοτιμές τις `(nπ)/L` και ιδιοσυναρτήσεις τις `sin((nπ x)/L)`. k = (n Pi)/L DSolve[{ODEx, X[0] == 0, X[L] == 0}, X[x], x] DSolve[ODEy, Y[y], y] Επομένως έχουμε ότι η $u_n(x,y)=c_n \sin(\frac{n \pi x}{L}) \sinh(\frac{n \pi y}{L})$ ικανοποιεί τη Μ.Δ.Ε. και όλες τις ομογενείς συνοριακές συνθήκες. Ψάχνουμε επομένως μόνο την ικανοποίηση της: $\sum_{n=1}^{\infty} u_n (x,L)=V_ 0\Leftrightarrow \sum_{n=1}^{\infty} c_n \sin(\frac{n \pi x}{L}) \sinh(n \pi)=V_0$ Πολλαπλασιάζουμε εσωτερικά τα δύο μέλη της τελευταίας ισότητας και λαμβάνουμε υπ' όψιν την ορθογωνιότητα των ημιτόνων. Έτσι: c[n_] := Assuming[Element[n, Integers], Integrate[V0 Sin[(n Pi x)/L], {x, 0, L}]/ Integrate[Sin[(n Pi x)/L]^2 Sinh[n Pi], {x, 0, L}]] c[n] Ακολουθεί η προσέγγιση με $n_0$ όρους. un[x_, t_, n_] := c[n] Sinh[(n Pi y)/L] Sin[(n π x)/L] uApprox[x_, t_, n0_] := Sum[un[x, t, n], {n, 1, n0}] uApprox[x, t, 4] Εξειδικεύουμε και σχεδιάζουμε. L = 2 Pi; V0 = 3; uApprox[x, t, 4] Table[Plot3D[Evaluate[uApprox[x, y, n]], {x, 0, L}, {y, 0, L}], {n, 2, 6}] Plot3D[Evaluate[uApprox[x, y, 20]], {x, 0, L}, {y, 0, L}, AxesLabel -> {"x","y"}]

Κώστας Κούδας | © 2025